1. Field of the Invention
The present invention relates generally to processing systems and, more specifically, to a method and apparatus for detecting the configuration of a device in a processing system.
2. Background
As part of boot-up and initiation procedures in a computing device, such as, for example, a mobile communication device, processors access one or more memory devices, such as, for example, non-volatile or flash memory devices, and download application code or data stored within the memory devices. Several types of memory devices are typically available for implementation in such computing devices and, thus, processors need to ascertain accurately and efficiently the configuration of each memory device. Based on the detected configuration, processors may further generate commands to download the desired application code.
Several implementations have been proposed to ascertain the configuration of the memory devices connected to the processor. In one implementation, the memory device information is stored within the processor during fabrication. However, this approach appears to limit the number of supported memory devices and makes it more difficult to introduce upgrades to the memory devices during the lifetime of the processors.
In another implementation, the memory device information is supplied to the processor through a number of external pins. However, this approach requires dedicated additional pins, thus increasing the cost of the system, and also appears to limit the number of supported memory devices.
In yet another known implementation, the processor may be instructed to detect the configuration of the memory devices through known trial-and-error techniques, such as, for example, binary searches. However, this approach appears to increase the time allocated for boot-up and initiation procedures, thus affecting the performance of the system.
Thus, what is needed is a method and apparatus for accurate and efficient detection of the configuration of multiple memory devices coupled to a processor in a computing device.